package com.sumainfor.pc.gmio.controller.secretary;

import com.sumainfor.common.util.JsonResult;
import com.sumainfor.common.utlis.PageUtils;
import com.sumainfor.common.utlis.Pager;
import com.sumainfor.pc.gmio.service.SeTenantBillService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Date 2018年11月7日
 * @Describe 银行
 */
@RestController
@RequestMapping("/secretary/TenantBill")
public class SeTenantBillController implements Serializable {

    @Autowired
    private SeTenantBillService seTenantBillService;

    /**
     * 查询账单列表
     * @param params
     * @param pager
     * @return
     */
    @PostMapping("/getTenantBillList")
    public JsonResult getTenantBillList(@RequestBody  Map<String,Object>params,Pager pager){
        return seTenantBillService.getTenantBillList(params,pager);
    }

    /**
     * 通过客户编号查询历史账单列表
     * @param params
     * @param pager
     * @return
     */
    @GetMapping("/getTenantBillListByTenIdl")
    public JsonResult getTenantBillListByTenIdl(@RequestParam Map<String,Object>params,Pager pager){
        JsonResult result=new JsonResult();
        pager.setPagerNecessary(params, pager);
        PageUtils pageUtils = new PageUtils();
        Integer cout=seTenantBillService.getTenantBillListCountByTenId(params);
        if(cout==0){
            return pageUtils.getJsonResult(new ArrayList<Map<String,Object>>(), params,cout);
        }
        List<Map<String,Object>>getCommunityList=seTenantBillService.getTenantBillListByTenId(params);
        result=pageUtils.getJsonResult(getCommunityList, params, cout);
        return result;
    }
    /**
     *通过客户编号查询剩余未缴费账单和待审核账单
     */
    @GetMapping("/getTenantBillListByTenIdwd")
    public JsonResult getTenantBillListByTenIdwd(@RequestParam Map<String,Object>params){
        return  seTenantBillService.getTenantBillListByTenIdwd(params);
    }
    /**
     * 服务秘书查询水电燃的账单 列表
     * @param params
     * @param pager
     * @return
     */
    @GetMapping("/getWegBillList")
    public JsonResult getWegBillList(@RequestParam Map<String,Object>params,Pager pager){
        System.out.println("params:"+params);
        System.out.println("pager:"+pager);
        JsonResult result=new JsonResult();
        pager.setPagerNecessary(params, pager);
        PageUtils pageUtils = new PageUtils();
        Integer cout=seTenantBillService.getWegBillListCount(params);
        if(cout==0){
            return pageUtils.getJsonResult(new ArrayList<Map<String,Object>>(), params,cout);
        }
        List<Map<String,Object>>getCommunityList=seTenantBillService.getWegBillList(params);
        result=pageUtils.getJsonResult(getCommunityList, params, cout);
        return result;
    }
    /**
     *市场部签约创建合同周期内的所有的账单
     */
    @PostMapping("/key/addTenantBillForPact")
    public JsonResult addTenantBillForPact(@RequestBody Map<String,Object>params){

          return seTenantBillService.addTenantBillForPact(params);
    }



    /**
     *市场部签约创建合同周期内的所有的账单(测试(生成账单专用))
     */
    @PostMapping("/addsss")
    public JsonResult addsss(@RequestBody Map<String,Object>params){

        return seTenantBillService.addTenantBillForPact(params);
    }




    /**
     *测试账单是否可以生成固定金额的水电燃宽带
     */
    @PostMapping("/addTenantBillForPacts")
    public JsonResult addTenantBillForPacts(@RequestBody Map<String,Object>params){

        return seTenantBillService.addTenantBillForPact(params);
    }




    /**
     * 运营部助理发送钥匙
     */
    @PostMapping("/getRdIntePassWord")
    public JsonResult getRdIntePassWord(@RequestBody Map<String,Object> params){
        return seTenantBillService.getRdIntePassWord(params);
    }
    /**
     * 租后主管查询人员管理（秘书角色）
     */
    @GetMapping("/getSeTenantBillList")
    public JsonResult getSeTenantBillList(@RequestParam Map<String,Object> params){
        return seTenantBillService.getSeTenantBillList(params);
    }

}
